package com.example.demo.config;

import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.HashMap;

/**
 * Created with IntelliJ IDEA.
 * Description: 异常统一处理类
 */
@ControllerAdvice
@ResponseBody
public class ExHandler {

    /**
     * 拦截所有的空指针异常，进行统一的数据返回
     * @param e
     * @return
     */
    // 使用该注解来订阅异常信息
    // 当出现约定的异常时就通知信息过来
//    @ExceptionHandler(NullPointerException.class)
//    public HashMap<String, Object> nullException(NullPointerException e) {
//        HashMap<String, Object> result = new HashMap<>();
//        // 设置返回信息
//        // 设置状态为 -1
//        result.put("code", "-1");
//        // 异常的描述信息
//        result.put("msg", "空指针异常：" + e.getMessage());
//        result.put("data", null);
//        return result;
//    }

//    @ExceptionHandler(Exception.class)
//    public HashMap<String, Object> except(Exception e) {
//        HashMap<String, Object> result = new HashMap<>();
//        result.put("code", "-1");
//        result.put("msg", "异常信息：" + e.getMessage());
//        result.put("data", null);
//        return result;
//    }

}
